The present inventive concept relates to memory cells, and more particularly to estimating and correcting errors in memory cells.
Multi-Level Cells (MLCs) capable of programming data in at least two level states have been actively studied to address demand for increased amounts of data to be processed by individuals or groups. Each of the levels that constitute an MLC may be set to have a certain voltage range during programming. Thus, during data read-out, data programmed in a specific memory cell may be read using a voltage range corresponding to each of the levels.
However, data stored in a memory cell may be affected by the external environment (e.g., variations in temperature, time, coupling, disturbances, loss of charges, or the like), and thus the level of voltage stored in each cell may vary. In other words, when data is read from a data cell programmed in a first state, variations in the voltage level may result in the data being read erroneously in a second state instead of the first state. Such errors in memory read-out decrease reliability of the memory device.